RawBitmap Class
A class to handle bitmaps on memory block level without dependency to Buoys Graphics functions.
The RawBitmap can handle, RGB, Gray and CMYK color spaces.
The RawBitmap can handle 8bit, 16 bit, and float depths.
The RawBitmap manages color profiles.
Object
RawBitmap
class RawBitmap
Constructors
RawBitmap (private) | Private Constructor for internal. |
RawBitmap | Constructs a new 4 channel RawBitmap with a given width and given height. |
RawBitmap | Constructs a new RawBitmap with a given width, given height and given number of channels. |
RawBitmap | Constructs a new RawBitmap with a given width, given height, given number of channels and given rowBytes value. |
RawBitmap | Constructs a new RawBitmap with a given width, given height, bitmap format type and given rowBytes value. |
RawBitmap | Constructs a RawBitmap with a given color space. This constructor can either take external Bytes block instance or internally allocate the memory by it self |
Properties
BitmapFormat | Returns the format of the color components in the RawBitmap |
Bytes | Returns the Buoy byte block if the RawBitmap was created with Buoy byte block as backing, else nil is returned. |
Channels | Returns the number of channels in the bitmap. |
ColorSpace | Returns info on what kind of colorspace the RawBitmap has. (RGB, Gray or CMYK). This can be any value from the RawBitmap.ColorSpaces enum. |
DataPtr | Returns pointer to Internals of the object. |
Depth | Returns the depth per channel of the bitmap. |
HasAlphaChannel | Returns true if the RawBitmap has alpha channel, else false. |
HasICCProfile | Returns true if the RawBitmap has ICC Color profile, else false |
Height | Returns the height of the Bitmap in pixels. |
HorizontalResolution | Returns the horizontal resolution of the image. (This can be set if the image was for example read from Jpg) |
ICCProfileData | Returns set value of the name of the ICC Color profile. |
ICCProfileName | Returns the raw ICC Color profile data if the RawBitmap contains ICC profile. |
IsFloatPixelMap | Returns true if the pixel map is based on floats. |
PixelBytes | Returns number of bytes per pixel in the image. |
Premultiplied | Returns true if the bitmap is known to be premultiplied. |
RowBytes | Returns the number of bytes in each row of the bitmap. |
VerticalResolution | Returns the vertical resolution of the image. (This can be set if the image was for example read from Jpg) |
Width | Returns the width of the Bitmap in pixels. |
Methods
ClearICCProfile | Removes ICC color profile from the RawBitmap |
Clone | Clones the RawBitmap and optionally adds alpha channel. |
Convert | Converts between RawBitmap formats. |
CopyICCColorProfileFrom | Copies ICC profile from other RawBitmap instance and puts it on this instance of the RawBitmap |
Crop | Crops the image, returning a new RawBitmap with the result or nil if no parts of the image were within the Crop parameters. |
DrawBitmap | Draws a RawBitmap into the RawBitmap |
DrawEllipse | Draws non filled ellipse. |
DrawLine | Draws a line at given location into the RawBitmap with a given color. |
DrawLineAntialiased | Draws antialiased line at given location into the RawBitmap with a given color. |
DrawPixel | Draws pixel on the RawBitmap, doing alpha blending as needed depending on the color passed in, |
DrawRect | Draws non filled rectangle. |
FillRect | Draws filled rectangle of given color |
FillRectAlpha | Draws only the alpha channel of filled rectangle |
shared FromRawBitmapPtr | Creates RawBitmap from internal RawBitmapPtr |
shared GetModuleHandshake | Gets module handshake instance which is used for package cross talk. |
Pixel | Gets the color of a pixel in the RawBitmap. |
Pixel | Sets the color of a pixel in the RawBitmap. |
PixelAlpha | Gets the alpha value for pixel at given location |
PixelAlpha | Sets the alpha value for pixel at given location |
Unpremultiply | Unpremultiplies the RawBitmap if it is premultiplied. |
Enumerations
BitmapFormats | Enum that represents the format of the color components.
The constants are named as follows:
g - Stands for grayscale channel.
A - Stands for alpha channel.
R - Stands for red channel.
G - Stands for green channel.
B - Stands for blue channel.
X - Stands for unused channel.
C - Stands for cyan channel.
M - Stands for magenta channel.
Y - Stands for yellow channel.
K - Stands for key channel. (used in CMYK color spaces)
|
ColorSpaces | A enum that has definitions of color spaces. |
Supported Platforms:
macOS Intel 64 bitmacOS Apple SiliconWindows 64 bitWindows ARM 64 bitLinux 64 bitLinux ARM 64 bit